package band.wukong.practice.java.fun;

import java.util.*;

/**
 * 撸撸更健康，每周一撸算法器。
 *
 * @author wukong(wukonggg@139.com)
 */
public class Meizhou1Lu {

    public static final String[] WUKONG_AND_HIS_FRIENDS = {"chenxj", "liuj", "lusg", "pangyh", "sunjs", "wangf"};

    /**
     * 排序
     * 1、定义字符串数组ARRAY
     * 2、指定范围随机数，获取ARRAY在该位置的值
     * 3、将该值放到list中
     * 3.1、看该值在list中是否存在。存在就再次随机数，不存在就放
     *
     * @param ss    string array
     * @return string in order
     */
    public static List<String> sort(String[] ss) {
        List<String> box = new ArrayList<String>();
        Random r = new Random();
        int len = ss.length;
        while (box.size() != len) {
            int num = r.nextInt(len);
            String person = ss[num];
            if (!box.contains(person)) {
                box.add(person);
            }
        }
        return box;
    }

    public static void main(String[] args) {
        List<String> box = sort(WUKONG_AND_HIS_FRIENDS);
        for (String s : box) {
            System.out.println((box.indexOf(s)+ 1) + ": " + s);
        }
    }
}

/*
    每周一撸 规则v1.0：
    1、无特殊情况，每周五下午16:00开始。每周一个人，六周一个轮回。
    2、分享内容可以围绕我们手头的工作，也可以是自己比较感兴趣的研究。
    3、每次的分享如果质量高，会对年终绩效产生有利影响。质量高的标准是对大家都有启示作用。质量一般的也不会对绩效产生不利影响。
    5、评价方式为专家判断，俗称拍脑袋，由我个人完成，评价的标准就是质量高低。为避免既当裁判员又当运动员的情况，我个人只参加分享，不参与评价。
    4、如果出现没有准备好的情况，记为缺席一次。长期缺席的人，会对绩效产生不利影响。
    注意：
    1、分享内容的准备不可影响日常的工作。日常工作
    2、鼓励大家开通自己的博客，将平时的点滴积累记录下来，这个算绩效的加分。


    孙劲松
    庞玉海
    王峰
    卢士盖
    刘俊
*/